package com.yxw.yx_hotel.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @author liuxin
 * @date 2024.01.17
 */
@Data
@ApiModel(value="StayWaitVo", description="待住Vo")
public class StayWaitVo implements Serializable {


    @Excel(name = "员工姓名", orderNum = "1", width = 12)
    @ApiModelProperty(value="待入住人员")
    private String userName;

    @Excel(name = "员工工号", orderNum = "2", width = 12)
    @ApiModelProperty(value="工号")
    private String userNum;

    @Excel(name = "性别", orderNum = "3", width = 12, replace = { "女_0", "男_1" })
    @ApiModelProperty(value="性别 0：女 1：男")
    private Integer sex;

    @Excel(name = "手机号", orderNum = "4", width = 12)
    @ApiModelProperty(value="电话")
    private String phone;

    @Excel(name = "身份证号", orderNum = "5", width = 12)
    @ApiModelProperty(value="身份证号")
    private String idCard;

    @Excel(name = "所属部门", orderNum = "6", width = 12)
    @ApiModelProperty(value="部门名称")
    private String deptName;

    @Excel(name = "岗位", orderNum = "7", width = 12)
    @ApiModelProperty(value="岗位名称")
    private String postName;

    @Excel(name = "员工状态", orderNum = "8", width = 12, replace = { "1_实习", "2_正式" ,"3_临时"})
    @ApiModelProperty(value="员工状态 1：实习 2：正式 3：临时")
    private Integer userState;

    @Excel(name = "宿舍", orderNum = "9", width = 12)
    @ApiModelProperty(value="宿舍名称")
    private String roomName;

    @Excel(name = "床位号", orderNum = "10", width = 12)
    @ApiModelProperty(value="床位名称")
    private String bedName;

    @Excel(name = "是否需要缴纳押金", orderNum = "11", width = 12, replace = { "0_否", "1_是" })
    @ApiModelProperty(value="是否需要缴纳押金 0：否 1：是")
    private Integer payStatus;

    @Excel(name = "入住日期", orderNum = "12", width = 12)
    @ApiModelProperty(value="入住时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date stayTime;

    @Excel(name = "创建时间", orderNum = "13", width = 12)
    @ApiModelProperty(value="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Excel(name = "修改时间", orderNum = "14", width = 12)
    @ApiModelProperty(value="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @Excel(name = "备注", orderNum = "15", width = 12)
    @ApiModelProperty(value="备注")
    private String note;

    @Excel(name = "创建人", orderNum = "16", width = 12)
    @ApiModelProperty(value="创建人")
    private String createName;

    @ApiModelProperty(value="待入住ID")
    private Long stayWaitId;

    @ApiModelProperty(value="部门ID")
    private Long deptId;


    @ApiModelProperty(value="岗位ID")
    private Long postId;

    @ApiModelProperty(value="宿舍ID")
    private Long roomId;

    @ApiModelProperty(value="床位ID")
    private Long bedId;

    @ApiModelProperty(value="退租时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date retreatTime;

    @ApiModelProperty(value="创建人ID")
    private Long createId;

    @ApiModelProperty(value="更新人ID")
    private Long updateId;

    @ApiModelProperty(value="更新人名称")
    private String updateName;

    @ApiModelProperty(value="状态 0：未入住 1：已入住 2：取消入住")
    private Integer status;

    @ApiModelProperty(value="租户ID")
    private Long tenantId;

}
